Computing (FOLDOC) dictionary
Jump to user comments
hardware A
binary sequence with the property that only one
bit changes between any two consecutive elements (the two
Counters generated tremendous power demands and noise spikes
when many bits changed at once. E.g. when incrementing a
register containing 11111111, the
back-EMF from the relays'
collapsing magnetic fields required copious noise suppression.
Using gray code counters, any increment or decrement changed
only one bit, regardless of the size of the number.
Gray code can also be used to convert the angular position of
a disk to digital form. A radial line of sensors reads the
code off the surface of the disk and if the disk is half-way
between two positions each sensor might read its bit from both
positions at once but since only one bit differs between the
two, the value read is guaranteed to be one of the two valid
values rather than some third (invalid) combination (a
One possible
algorithm for generating a gray code sequence
is to toggle the lowest numbered bit that results in a new
code each time. Here is a four bit gray code sequence
generated in this way:
0 0 0 0
0 0 0 1
0 0 1 1
0 0 1 0
0 1 1 0
0 1 1 1
0 1 0 1
0 1 0 0
1 1 0 0
1 1 0 1
1 1 1 1
1 1 1 0
1 0 1 0
1 0 1 1
1 0 0 1
1 0 0 0
The codes were patented in 1953 by Frank Gray, a
Bell Labsresearcher.
(2002-08-29)